import request from '../request'
import type { User } from '@/types/User'

// 搜索用户（按邮箱）
export async function searchUsersByEmail(data: { email: string }) {
    return request<null>({
        url: '/admin/search-user-by-email',
        method: 'GET',
        skipAuth: true,
        params: data,
    })
}

// 更新用户角色（RBAC）
// 后端约定：POST /admin/update-user-role { id, role }
// 返回统一 ApiResponse<User> 或直接 User
export async function updateUserRole(data: { id: number | string; role: string }) {
    // 期望后端返回更新后的用户信息（或包含 user 字段）
    return request<User | { user?: User }>({
        url: '/admin/update-user-role',
        method: 'POST',
        data,
    })
}

// 更新用户权限（字符串数组）
// 后端约定：POST /admin/update-user-permissions { id, permissions: string[] }
export async function updateUserPermissions(data: { id: number | string; permissions: string[] }) {
    return request<User | { user?: User; permissions?: string[] }>({
        url: '/admin/update-user-permissions',
        method: 'POST',
        data,
    })
}
